Distributed hardware/software system for managing agent status in a communication center

ABSTRACT

An agent presence application for monitoring target agent resources and rendering agent states to subscribing applications is provided. The presence application has at least one first portion for collecting data regarding states of activity of the target agent resources, and at least one second portion for integrating the data and rendering the agent states to the to subscribing applications.

FIELD OF THE INVENTION

The present invention is in the field of telecommunication, encompassingall existing sorts of interaction multimedia technology, and pertainsmore particularly to a system for managing agent status informationwithin a communications-center.

BACKGROUND OF THE INVENTION

In the field of telephony communication, there have been manyimprovements in technology over the years that have contributed to moreefficient use of telephone communication within hosted call-centerenvironments. Most of these improvements involve integrating thetelephones and switching systems in such call centers with computerhardware and software adapted for, among other things, better routing oftelephone calls, faster delivery of telephone calls and associatedinformation, and improved service with regard to client satisfaction.Such computer-enhanced telephony is known in the art ascomputer-telephony integration (CTI). Generally speaking, CTIimplementations of various design and purpose are implemented bothwithin individual call-centers and, in some cases, at the telephonenetwork level. For example, processors running CTI software applicationsmay be linked to telephone switches, service control points (SCP), andnetwork entry points within a public or private telephone network. Atthe call-center level, CTI-enhanced processors, data servers,transaction servers, and the like, are linked to telephone switches and,in some cases, to similar CTI hardware at the network level, often by adedicated digital link. CTI processors and other hardware within acall-center is commonly referred to as customer premises equipment(CPE). It is the CTI processor and application software is such centersthat provides computer enhancement to a call center.

In a CTI-enhanced call center, telephones at agent stations areconnected to a central telephony switching apparatus, such as anautomatic call distributor (ACD) switch or a private branch exchange(PBX). The agent stations may also be equipped with computer terminalssuch as personal computer/video display units (PCNVDU) so that agentsmanning such stations may have access to stored data as well as beinglinked to incoming callers by telephone equipment. Such stations may beinterconnected through the PC VDU by a local area network (LAN). One ormore data or transaction servers may also be connected to the LAN thatinterconnects agent stations. The LAN is, in turn, typically connectedto the CTI processor, which is connected to the call switching apparatusof the call center.

When a call arrives at a call center, whether or not the call has beenpre-processed at an SCP, typically at least the telephone number of thecalling line is made available to the receiving switch at the callcenter by the network provider. This service is available by mostnetworks as caller-ID information in one of several formats such asAutomatic Number Identification (ANI). Typically the number called isalso available through a service such as Dialed Number IdentificationService (DNIS). If the call center is computer-enhanced (CTI), the phonenumber of the calling party may be used as a key to access additionalinformation from a customer information system (CIS) database at aserver on the network that connects the agent workstations. In thismanner information pertinent to a call may be provided to an agent,often as a screen pop on the agent's PCNVDU.

In recent years, advances in computer technology, telephony equipment,and infrastructure have provided many opportunities for improvingtelephone service in publicly switched and private telephone intelligentnetworks. Similarly, development of a separate information and datanetwork known as the Internet, together with advances in computerhardware and software have led to a new multimedia telephone systemknown in the art by several names. In this new systemology, telephonecalls are simulated by multimedia computer equipment, and data, such asaudio data, is transmitted over data networks as data packets. In thissystem the broad term used to describe such computer-simulated telephonyis Data Network Telephony (DNT).

For purposes of nomenclature and definition, the inventors wish todistinguish clearly between what might be called conventional telephony,which is the telephone service enjoyed by nearly all citizens throughlocal telephone companies and several long-distance telephone networkproviders, and what has been described herein as computer-simulatedtelephony or data-network telephony. The conventional systems arereferred to herein as Connection-Oriented Switched-Telephony (COST)systems, CTI enhanced or not.

The computer-simulated, or DNT systems are familiar to those who use andunderstand computers and data-network systems. Perhaps the best exampleof DNT is telephone service provided over the Internet, which will bereferred to herein as Internet Protocol Network Telephony (IPNT), by farthe most extensive, but still a subset of DNT.

Both systems use signals transmitted over network links. In fact,connection to data networks for DNT such as IPNT is typicallyaccomplished over local telephone lines, used to reach points in thenetwork such as an Internet Service Provider (ISP). The definitivedifference is that COST telephony may be considered to beconnection-oriented telephony. In the COST system, calls are placed andconnected by a specific dedicated path, and the connection path ismaintained over the time of the call. Bandwidth is basically assured.Other calls and data do not share a connected channel path in a COSTsystem. A DNT system, on the other hand, is not dedicated orconnection-oriented. That is, data, including audio data, is prepared,sent, and received as data packets over a data-network. The data packetsshare network links, and may travel by varied and variable paths.

Recent improvements to available technologies associated with thetransmission and reception of data packets during real-time DNTcommunication have enabled companies to successfully add DNT,principally IPNT, capabilities to existing CTI call centers. Suchimprovements, as described herein and known-to the inventor, includemethods for guaranteeing available bandwidth or quality of service (QOS)for a transaction, improved mechanisms for organizing, coding,compressing, and carrying data more efficiently using less bandwidth,and methods and apparatus for intelligently replacing lost data viausing voice supplementation methods and enhanced buffering capabilities.

In addition to Internet protocol (IPNT) calls, a DNT center may alsoshare other forms of media with customers accessing the system throughtheir computers. E-mails, video mails, fax, file share, file transfer,video calls, and so forth are some of the other forms of media, whichmay be used. This capability of handling varied media leads to the termmultimedia communications center. A multimedia communications center maybe a combination CTI and DNT center, or may be a DNT center capable ofreceiving COST calls and converting them to a digital DNT format. Theterm communication center will replace the term call center hereinafterin this specification when referring to multi-media capabilities.

In typical communication centers, DNT is accomplished by Internetconnection and IPNT calls. For this reason, IPNT and the Internet willbe used in examples to follow. IT should be understood, however, thatthis usage is exemplary, and not limiting.

In systems known to the inventors, incoming IPNT calls are processed androuted within an IPNT-capable communication center in much the same wayas COST calls are routed in a CTI-enhanced call-center, using similar oridentical routing rules, waiting queues, and so on, aside from the factthat there are two separate networks involved. Communication centershaving both CTI and IPNT capability utilize LAN-connected agent-stationswith each station having a telephony-switch-connected headset or phone,and a PC connected, in most cases via LAN, to the network carrying theIPNT calls. Therefore, in most cases, IPNT calls are routed to theagent's PC while conventional telephony calls are routed to the agent'sconventional telephone or headset. Typically separate lines andequipment must be implemented for each type of call weather COST orIPNT.

Due in part to added costs associated with additional equipment, lines,and data ports that are needed to add IPNT capability to a CTI-enhancedcall-center, companies are currently experimenting with various forms ofintegration between the older COST system and the newer IPNT system. Forexample, by enhancing data servers, interactive voice response units(IVR), agent-connecting networks, and so on, with the capability ofconforming to Internet protocol, call data arriving from either networkmay be integrated requiring less equipment and lines to facilitateprocessing, storage, and transfer of data.

With many new communication products supporting various media typesavailable to businesses and customers, a communication center must addsignificant application software to accommodate the diversity. Forexample, e-mail programs have differing parameters than do IPapplications. IP applications are different regarding protocol than COSTcalls, and so on. Separate routing systems and/or software componentsare needed for routing e-mails, IP calls, COST calls, file sharing, etc.Agents must then be trained in the use of a variety of applicationssupporting the different types of media.

Keeping contact histories, reporting statistics, creating routing rulesand the like becomes more complex as newer types of media are added tocommunication center capability. Additional hardware implementationssuch as servers, processors, etc. are generally required to aid fullmultimedia communication and reporting. Therefore, it is desirable thatinteractions of all multimedia sorts be analyzed, recorded, and routedaccording to enterprise (business) rules in a manner that providesseamless integration between media types and application types, therebyallowing agents to respond intelligently and efficiently to customerqueries and problems.

One challenge that is ever present in a communications center is theability to communicate current communication center status to customersattempting to reach the center for service. Older call-centers relyingon COST communication techniques simply play recorded messages, therecordings informing the customers of the status of an agent beingcalled. More advanced communication centers, including multimediacenters, have extensive automated services in place for interacting withcustomers in the event that no agents are available. Most of theseservices are IVR driven and inform callers of options, as well as statusof those persons the callers are attempting to connect with.

Estimated call-waiting times may be determined during a call attempt andcommunicated to the caller through IVR interaction. The number of callsahead of a current calls may also be provided as status information. Acustomer must invest the time and inconvenience of placing a call to thecommunication center in order to receive the status information. Asdescribed above, this information is made available through IVRinteraction in prior art systems. In general, a call placed into thecommunications center must be paid for either by the customer placingthe call, or by the center itself. It has occurred to the inventor thatmoney and center resource could be conserved by providing statusinformation to customers without requiring a physical call to be placedto the center.

A network-based system known to the inventor and taught in a separateapplication enables users of the system to obtain current agent-statusinformation related to agents of an information-source facilityconnected to the network before initiating contact with the agent oragents of the information-source facility. The system uses astatus-server node connected to the information-source facility(communication center) and to the network. The system also uses aninterface-server node connected to the status node and to the network.The status-server node is accessible to the interface node by virtue ofthe network connectivity. A user operating a network-capable applianceconnects to the interface node by virtue of network connectioncapability. Software distributed on at least the status and interfaceserver nodes enables distribution of the agent-status information to theuser operating the appliance.

The agent-status information is accessed from the status server nodeconnected to the communication center by the interfacing server node anddelivered to the requesting user over the operating network. The systemcomponents communicate according to any one of several known InstantMessaging protocols such as IMPP-RFC 2778. An enhancement to the abovesystem enables agents in dialogue with users to be able to viewavailability status and callback preferences established at the usersend.

The enhanced system uses a status server node connected to theinformation-source facility (communication center) and to the networkand an interfacing server node connected to the first server node and tothe network. The interfacing server node is accessible from the statusserver node by virtue of the network connectivity. A client accesses theinterface server node using a network-capable appliance connected to thenetwork.

The client either posts his or her status information at the interfacingserver node, or the interfacing server node polls the client for statuswhile the client is connected. An agent-user operating from a LANconnected agent workstation has access to the status server node, whichin turn polls the interfacing server node. Software distributed on bothserver nodes enables distribution of the client-status information torequesting agents. The agent-user operating the agent workstationaccesses the status server node and subscribes to the client-statusinformation about one or more clients. The client-status information isaccessed from the interfacing server node by the status server node anddelivered to the requesting agent-user. The above-described system usesa presence protocol to propagate data from node to node on the network.

A personal interaction system for enabling customers of a communicationcenter to change and manipulate personal information, as well as to viewpersonalized interaction and resource data from a single interface isalso known to the inventor and is taught in a separate application. Thesystem incorporates a personalized interaction application for enablingclient interaction with communication-center resources and brokerage ofpresence information related to both agents of the communication centerand to clients of the center.

The interaction application comprises an interactive user interface forposting client data and for receiving and displaying agent data andinteraction data, a brokering application for receiving data from boththe client and the communication center for incorporation into the userinterface and for managing propagation of instant messaging between aclient and agents of the center and, a status monitoring and reportingapplication for monitoring and reporting agent status and client statusand for accessing and serving communication center resource data.

A client accessing and interacting with the user interface portion ofthe application may add and edit personal information, request andreceive product information, request and view current activity statuswithin the communication center, and request and view personalinteraction history recorded by the communication center withoutinitiating and executing a live communication event to the center. Inpreferred embodiments, the application uses a presence protocol and isenhanced with instant messaging capability as described above with theagent availability and client status availability systems. Moreover, thefunctionality of all three systems may be combined into one system usingone interface for the client.

As can be seen from the description the above, using an Instant Messageprotocol provides obvious advantages to both agents and clientsoperating in an IP environment hosted by a communication center.However, the task of monitoring and managing multiple states of agentsoperating within the center is quite formidable given prior-art methods.In state-of-the-art communication centers agents are responsible notonly for handling a variety of communication-event types but also musttypically manage more than one communication terminal or device. Forexample, COST interaction is typically handled by a COST telephone,while IP telephony is conducted with an IP-capable telephone or on a PC.An agent may also handled pager messages on a pager, e-mail messages ona PC, fax correspondence on a fax machine, or may have even other,non-electronic duties, communicated to his computer, such as filling outand stamping a document etc.

Prior art methods for monitoring agent states are typically CTIimplementations executing on a central routing device or hosted on acentral server connected by a LAN to participating agents. Therefore,all of the agent's possible communication means may not be accessible tothe system. Moreover, resolution of agent states to single communicationapplications is not possible. An associated problem with implementing acentrally controlled agent monitoring system is lack of feasiblescalability. For example, up-scaling such a system would requireaddition of more central servers and providing extensive integrationsolutions for various communication technologies.

Another issue is that many professional agents are accustomed to orrequired by regulations to use certain software implements and platformsrelated to their communication duties. Centrally controlled agent-statemonitoring systems generally require all agents to use like software(communications applications) and be operating like platforms. In thiscase, new agents must be trained to use applications supported by themonitoring system. Still further, many clients of the communicationcenter may use applications that agents also use, but which are notsupported by a communication center's state-monitoring system.Therefore, some pending interactions, which are of importance to thecenter, may not take place because the supported mediums ofcommunication were determined to be busy at the time of the interaction.Opportunities for communication may be missed although communicationcould have taken place if the specific application shared by the clientand by the agent were known and reportable as a state-option to thecustomer.

There are many instances wherein detailed reporting of all of an agent'sactive states is useful, especially in instances of internal routing ofinteractions arriving within the communication center. Observingapplications used in current communication centers do not havesufficient access to all of an agent's possible activity states as maybe related to individual communications mediums and especially relatedto specific communications applications as noted above. Further,existing applications are typically centralized and difficult to scale.

Therefore, what is clearly needed is a distributed system for monitoringand reporting agent states and communication abilities to subscribingapplications that does not require management from a central server orexpensive software integration solutions. Such a system would be easilyscalable and much more reliable than current centrally controlledsystems.

SUMMARY OF THE INVENTION

In a preferred embodiment of the present invention an agent presenceapplication for monitoring target agent resources and rendering agentstates to subscribing applications is provided, comprising a firstportion for collecting data regarding states of activity of the targetagent resources, and a second portion for integrating the data andrendering the agent states to the subscribing applications. In someembodiments the target agent resources comprise one or more individualagent stations in at least one communication center, the agent stationsequipped with one or more communication devices. Also in someembodiments multiple copies or versions of the first portion execute onplatforms monitoring individual ones of the one or more communicationdevices, and provide data to at least one agent proxy server executing acopy of the second portion, the at least one agent proxy serverdedicated to integrating the data for the one or more communicationdevices.

In some embodiments one or more of the platforms upon which the firstportions execute are computers in the agent stations, while in othersone or more of the platforms upon which the first portions executecomprise individual ones of the one or more communication devices. Instill other embodiments one or more of the platforms upon which thefirst portions execute comprise individual service proxy platforms alsoenabling services for one of the communication devices. The serviceproxy platform may be, for example, a Voice-over-Internet Protocol(VoIP) proxy enabling a VoIP telephone, or a call-control gatewayplatform. In some embodiments the first portions provide data to morethan one agent proxy server to provide redundancy.

In some cases the platforms, agent stations and subscribing applicationsare all a part of a single communication center, while in other casesthe platforms, agent stations and subscribing applications aredistributed over a plurality of communication centers.

In some instances more than one first portion is dedicated each todistinct ones of the communication devices associated with a singleagent station, and the data from the more than one first portion isaggregated for the single agent station at the agent proxy serverassociated with the single agent station. In other cases there may bemultiple sets of agent stations having communication devices monitoredby the copies or versions of the first portion and multiple agent proxyservers executing copies of the second portion, wherein agent proxyservers are associated in a hierarchical fashion, such that higher-levelagent proxy servers aggregate data from multiple lower-level agent proxyservers with which each higher-level server is associated, theaggregated data at the higher level servers comprising data from all ofthe agent stations associated with each of the lower-level servers.Again, in these cases the platforms, agent stations and subscribingapplications may be all a part of a single communication center, ordistributed over a plurality of communication centers. In particularcases the subscribing applications include communication-routingapplications.

In another aspect of the invention an agent proxy system operable in atleast one communication center is provided, the system comprising agentresources enabling agents to process communication events, one or moreagent proxy servers, one or more subscribing applications subscribing toone or more of the agent proxy servers, a communication networkconnecting the agent resources, the applications and the one or moreagent proxy servers, and an agent presence application for monitoringstates of the agent resources and for rendering agent states to thesubscribing applications, the presence application having a firstportion for collecting data regarding states of activity of the targetagent resources, and a second portion for integrating the data andrendering the agent states to the subscribing applications.

In some embodiments the agent resources comprise one or more individualagent stations in at least one communication center, the agent stationsequipped with communication devices, and in some embodiments multiplecopies or versions of the first portion execute on platforms monitoringindividual ones of the one or more communication devices, and providedata to at least one agent proxy server executing a copy of the secondportion, the at least one agent proxy server dedicated to integratingthe data for the one or more communication devices.

In some cases one or more of the platforms upon which the first portionsexecute are computers in the agent stations, while in other cases one ormore of the platforms upon which the first portions execute compriseindividual ones of the one or more communication devices, and in stillother cases one or more of the platforms upon which the first portionsexecute comprise individual service proxy platforms also enablingservices for one of the communication devices.

The service proxy platform may be a Voice-over-Internet-Protocol (VoIP)proxy enabling a VoIP telephone, for example, or a call-control gatewayplatform. In some cases the first portions provide data to more than oneagent proxy server to provide redundancy. Also, the platforms, agentstations and subscribing applications may be all a part of a singlecommunication center, or distributed over a plurality of communicationcenters.

In some cases more than one first portion is dedicated each to distinctones of the communication devices associated with a single agentstation, and the data from the more than one first portion is aggregatedfor the single agent station at the agent proxy server associated withthe single agent station. There may be multiple sets of agent stationshaving communication devices monitored by the copies or versions of thefirst portion and multiple agent proxy servers executing copies of thesecond portion, wherein agent proxy servers are associated in ahierarchical fashion, such that higher-level agent proxy serversaggregate data from multiple lower-level agent proxy servers with whicheach higher-level server is associated, the aggregated data at thehigher level servers comprising data from all of the agent stationsassociated with each of the lower-level servers. In all of these casesthe platforms, agent stations and subscribing applications may be all apart of a single communication center, or distributed over a pluralityof communication centers. In special cases the subscribing applicationsinclude communication-routing applications.

In still another aspect of the invention, in a communication centersystem, a method for providing agent status to subscribing applicationsis provided, comprising the steps of (a) monitoring status of individualagent resources by a first portion of an agent presence application; and(b) integrating data from step (a) and rendering agent status to thesubscribing applications by a second portion of the agent presenceapplication. In some embodiments, in step (a), the agent resourcescomprise individual agent stations equipped with one or morecommunication devices.

In some embodiments multiple copies or versions of the first portionexecute on platforms monitoring individual ones of the one or morecommunication devices, and provide data to at least one agent proxyserver executing a copy of the second portion, the at least one agentproxy server dedicated to integrating the data for the one or morecommunication devices. In some embodiments one or more of the platformsupon which the first portions execute are computers in the agentstations, while in others one or more of the platforms upon which thefirst portions execute comprise individual ones of the one or morecommunication devices, and in still others one or more of the platformsupon which the first portions execute comprise individual service proxyplatforms also enabling services for one of the communication devices.The service proxy platform may be a Voice-over-Internet-Protocol (VoIP)proxy enabling a VoIP telephone, for example, or a call-control gatewayplatform.

In some cases the first portions provide data to more than one agentproxy server to provide redundancy. The platforms, agent stations andsubscribing applications may be all a part of a single communicationcenter, or distributed over a plurality of communication centers.

In some cases more than one first portion is dedicated each to distinctones of the communication devices associated with a single agentstation, and the data from the more than one first portion is aggregatedfor the single agent station at the agent proxy server associated withthe single agent station. Further there may be multiple sets of agentstations having communication devices monitored by the copies orversions of the first portion and multiple agent proxy servers executingcopies of the second portion, wherein agent proxy servers are associatedin a hierarchical fashion, such that higher-level agent proxy serversaggregate data from multiple lower-level agent proxy servers with whicheach higher-level server is associated, the aggregated data at thehigher level servers comprising data from all of the agent stationsassociated with each of the lower-level servers.

In these cases as well, the platforms, agent stations and subscribingapplications may be all a part of a single communication center, ordistributed over a plurality of communication centers. In special casesthe subscribing applications include communication-routing applications.

Now, for the first time, a distributable software system for managingagent states that does not require management from a central server orexpensive software integration solutions is provided. The system iseasily scalable and much more reliable than current centrally controlledsystems.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

FIG. 1 is an overview of a communication network wherein a distributedsystem for managing agent status is utilized according to an embodimentof the present invention.

FIG. 2 is a connection diagram illustrating status managementcapabilities for an agent having more than one computer terminalaccording to an embodiment of the present invention.

FIG. 3 is a connection diagram illustrating status managementcapabilities for an agent operating a computer and a telephone.

FIG. 4 is a connection diagram illustrating status managementcapabilities for an agent operating a computer and a connected IP phone.

FIG. 5 is a connection diagram illustrating status managementcapabilities using a combined presence application.

FIG. 6 is a connection diagram illustrating status managementcapabilities utilizing a third party gateway.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with a preferred embodiment of the present invention theinventor provides a distributable software application for improving thereporting of various active agent-states related to communicationcapabilities to subscribing applications within, or in some casesexternal to a communication-center. The method and apparatus of thepresent invention is described in enabling detail below.

FIG. 1 is an overview of a communication network 9 wherein a distributedsystem for monitoring agent status and communication ability, and makingthe information available to subscribing applications is utilizedaccording to an embodiment of the present invention. Communicationnetwork 9 comprises a public-switched-telephone-network (PSTN 19), adata-packet-network (DPN) 63, which in a preferred embodiment is thewell-known Internet network, and a communication center 11.

PSTN 19 may, in an alternative embodiment, be a private telephonenetwork instead of a public one as exemplified herein. DPN 63, which inthis example is the well-known Internet, is chosen by the inventor as apreferred DPN because of its high public-access characteristic.Hereinafter DPN 63 will simply be referred to as Internet 63. Internet63 may instead be a corporate or private wide-area-network (WAN) withoutdeparting from the spirit and scope of the present invention. Internet63 is further exemplified by an Internet backbone 65 illustrated asextending through cloud 63. Backbone 65 represents all of the lines,connections and equipment making up the Internet network as a whole.Therefore, there are no geographic limitations to practice the presentinvention.

Communication center 11 represents a state-of-the-art communicationcenter capable of handling both COST interactions and DNT interactionsincluding those using Internet Protocol (IP). Communications center 11may be any type of communication center or information-source facility.A good example of communication center 11 would be that of acustomer-assistance center for a large computer manufacturer.Communication center 11 may be a very large center employing hundreds ofagents or a very small center employing just a few agents withoutdeparting from the spirit and scope of the present invention.

PSTN 19 represents the mediums through which all COST calls destined tocommunication center 11 are propagated. A local switch (LSW) 21 isillustrated within PSTN 19 and represents a telephony switch as known inthe art for switching calls. In this example, LSW 21 is connected to acentral switch (CSW) 31 illustrated within communication center 11 by atelephony trunk 25. LSW 21 as well as CSW 31 may beautomatic-call-distributor (ACD) switches or any other known telephoneswitches capable of processing COST events.

A computer-telephony-integration (CTI) processor 23 is provided withinPSTN 19 connected to LSW 21 by a CTI link. CTI processor 23 is adaptedto provide at least intelligent routing capability to LSW 21. A similarCTI processor 35 is provided within communication center 11 and isillustrated as connected to CSW 31 by a CTI link. CTI processor 35 isadapted to provide at least intelligent routing capability to CSW 31.CTI processor 23 within PSTN 19 is connected to CTI processor 35 withincommunication center 11 by a data network connection 27 separate fromtelephone trunk lines. Data network 27 enables extension of intelligentrouting routines from within communication center 11 into PSTN 19. Morespecifically LSW 21, representing just one of many similarly connectedswitches or Service Control Points (SCP) in the network, may do, forexample, agent-level routing by virtue of communication capabilitybetween processors 35 and 23. This mechanism enables intelligent networkrouting of incoming communication events to occur at LSW 21.

Intelligent routing commands are distributed from processor 35 over datanetwork 27 to processor 23 by virtue of a software instance known to theinventor as a transaction server (TS). Intelligent routing capabilitiesmay include, but are not limited to, routing based on agent skills,statistical routing, predictive routing, priority routing,agent-availability routing, and a host of other routing protocols. Datanetwork 27 also enables information about callers to arrive withincommunication center 11 ahead of connection of the actual calls. Inaddition to instances of TS illustrated within processor 35 and 23 ofthis example, other functions may be provided without departing from thespirit and scope of the present invention. Examples includeinteractive-voice-response (IVR) capability, and other types ofintelligent peripheral services.

In some communication networks known to the inventor, the capabilityexists of bridging, for example, PSTN 19 and Internet 63 such that callsoriginating from both networks may be routed into and supported by theirbridged counterparts. For example, calls originating from PSTN 19 may beconverted to DNT calls and routed through Internet 63 to communicationcenter 11. Similarly, calls originating from Internet 63 may beconverted to COST events and routed to communication center 11 throughPSTN 19. Such functionality is not specifically illustrated in thisexample but may be assumed to be present in some embodiments.

Also, other media than pure voice calls can be used. For example, webbased calls, video calls, video mail, e-mail, chat, chat-relays etc.just to name a few types of “calls” or communications.

Communication center 11 has illustrated therein a plurality of agentworkstations such as stations 43, 45, and 47. Stations 43-47 are adaptedas communication stations each containing appropriate communicationsequipment and software used by agents for external and internalcommunication. In this example each agent workstations 43-47 has atleast a personal computer/video display unit (PC/VDU) and a telephone.For example, within agent workstations 43 a PC/VDU 55 and a telephone 49are illustrated. A PC/VDU 57 and a telephone 51 are illustrated withinstation 45. A PC/VDU 59 and a telephone 53 are illustrated withinstation 47. Telephones 49-53 are connected to CSW 31 by internaltelephony wiring 41. In other embodiments the agent equipment may bemore extensive than that illustrated here, such as WAP-enabledtelephones, pagers, fax machines, and more.

It will be apparent to one with skill in the art that there may be manymore agent stations operating within communication center 11 than areillustrated in this example. Also, in some cases, some or all of theagents may be “remote agents” working, for example from home, mobile (onthe road) or from small satellite offices, rather than from a large,conventional call center. The inventor deems that illustration of threeagent stations is adequate for the purpose of explanation andillustration of the present invention. Moreover, in some more advancedembodiments, known to the inventor, telephones 49-53 may be connected totheir respective PC/VDUs by physical cabling enabling agents to answerincoming calls using the telephone or the PC/VDU.

PC/VDUs 55-59 share connection to a local-area-network (LAN) 39. In thisexample, LAN 39 is adapted to support Internet protocols in a additionto other LAN protocols. LAN 39 facilitates intercommunication betweenagents within communication center 11 and other communication centersystems. For example, CTI processor 35 is connected to LAN 39.Information about callers retrieved as a result of interaction withcallers at LSW 21, or by peripheral equipment associated with LSW 21,may be distributed to appropriate agent PC/VDUs 55-59 ahead of routedCOST calls via data network 27 and LAN 39.

An Internet protocol router (IPR) 71 is provided within communicationcenter 11 and is connected to LAN 39. IPR 71 is also connected toInternet backbone 65 by an Internet access line 69. Internet access line69 may be a 24×7 Internet connection or a switched Internet connection.IPR 71 routes IP events originating from Internet 63 to appropriateagents. IP events may include e-mails, IPNT phone calls, and so on. Inone embodiment IPR 71 may be further enhanced with digital interactivevoice response (DIVR) capability.

An automated systems server (ASS) 16 is illustrated within communicationcenter 11 and is connected to LAN 39 via a LAN connection, and to CSW 31by a digital data line 29. ASS 16 is adapted as an automated systemserver capable of initiating one type or many types of automatedcommunication events such as facsimiles, e-mails, voice mails, and otherautomated response mechanisms. ASS 16 may also be adapted to operate inan outbound campaign mode.

A Web server 67 is provided within Internet 63 and connected to backbone65. Server 67 is adapted in this embodiment as an interface servermaintained within Internet 63 by the same entity hosting communicationcenter 11 in a preferred embodiment. Server 63 is an access point forremote agents working with communication center 11. A host server 15 isalso illustrated within Internet 63 and also connected to backbone 65.Host server 15 represents a third-party-hosted customer access point tointerface for customers wishing to access communication center 11.

A plurality of software (SW) instances 61 are provided as distributedapplications to PC/VDUs 55-59. SW 61 is adapted in a preferredembodiment as a presence agent capable of monitoring the present stateof an agent's communication capabilities and current communicationstates at each agent station operating in communication center 11. Inthis example, SW 61 embodies a capability of monitoring and reportingagent communication capabilities according to much finer resolution thanis practiced and current art. For example, SW 61 may be adapted toinclude standard communication capabilities such as e-mail, fax, IPphone, ICQ™ and other chat communication applications, file sharingprograms, and any instant messenger applications. SW 61 may also reportplatform and word application parameters such as whether or not andagent has PowerPoint™ installed for Macintosh™ and so on. Also, types ofmedia applications and associated platforms may also be reported by SW61.

In a preferred embodiment of the present invention a plurality of agentproxies are provided for integrating agent status and communicationcapabilities and communicating such information to requestingapplications. In the present example two agent proxy servers 18 areprovided, each connected to LAN 39, and each running a software instance17. Each of proxies 18 is responsible for and tracks states for one ormore agent stations. In the present case one may be dedicated to agentstations 43 and 45, and the other to agent station 47. The skilledartisan will understand, as mentioned above, that there may be many moreagent stations than the three shown, and there may also be many moreagent proxies than the two shown.

In a communication center of the sort illustrated here there may behundreds of agent stations varying in equipment and capability anddistributed physically over a large premise, such as several floors ofone building or over multiple buildings. In such a case there may be anagent proxy 18 executing software 17 on each floor of each building,connected to the LAN that connects all agent stations, with each agentproxy dedicated to and monitoring the agent stations on the same floor.

In some cases the group of agent proxies may be hierarchical. Forexample, in a very large center having several sites, there may beproxies at a lowest level, each monitoring a group of agent stations,then one or more higher-level proxies integrating the information of thelower-level proxies, such as one for each site, then a highest-levelproxy integrating the information of the proxies dedicated to each site.The variations are numerous.

Proxy software 17 is responsible for authenticating an agent or agentsassigned to it, as well as for receiving and combining assigned agent'spresence information and making the same available to any observingapplication that subscribes to the information. Each agent running SW 61has his or her current presence information and communicationcapabilities reported to a designated proxy or proxies 18. The describeddistributed system in a preferred embodiment may use a presence protocolto propagate the required information.

As examples of applications that subscribe to agent proxies 18, considerIPR 71 and CTI server 35. Each of these servers executes one or morerouting applications for routing incoming events to agent stations. In apreferred embodiment of the present invention each of these serverssubscribes t one or more agent proxies 18 for information to aid inefficient and effective routing of incoming events.

In one embodiment, wherein COST clients have an IVR option for routing,the communicated agent capabilities and states may be used to aid acaller with selection of a routing option. Such an option may be basedon availability of an agent regarding another application. For example,if a call at LSW 21 is destined for an agent operating at station 47,but presence information indicates to a dedicated agent proxy that theagent is busy on a previous call or other activity, then the presenceinformation may also report to the appropriate proxy that the agent isavailable using IP-assisted automated ordering wherein the caller electsto place an order through IVR function and is prioritized for thatpurpose. In this case, it may be that after a caller has entered therequested order information during IVR interaction, his or her call istransferred to the agent's IP phone wherein the agent takes the call andplaces the current COST call on hold to take the order. In this case theIVR server will be a subscriber to one or more of the agent proxies.

In some embodiments of the invention agents may not be on-site agents asshown in FIG. 1, but may be remote agents operating from home or anothersite not connected to LAN 39. In this case an instance of agent proxysoftware 17 may execute on WEB server 67 in Internet 63, wherein the WEBserver is hosted by the entity operating communication center 11. Inthis case the remote agent(s) are tracked by instance 17 operating onserver 67, and this instance may report to all the same subscribingapplications as described above, such as IPR 71 and CTI 35 for routingincoming events.

Information made available to agent proxies by presence softwareinstances 61 may be propagated on a periodic basis with relatively highfrequency such as, perhaps every one minute or so. In a preferredembodiment, however, updates are made in agent status only when statuschanges. This method minimizes traffic on the LAN or other communicationnetwork that may be used.

Agent proxies may be adapted, as described above, to report presenceinformation of a single agent or of a combination of agents,representing a work group, team or queue. There are no limits to theinclusion of varying types of media and communication capabilitiesutilized by agents within communication center 11. All that is requiredin order to enable reporting of active states of communication andcapabilities to agent proxies is a network connection to the devicesupporting the communication capabilities or to a third-party componentthrough which communication events of the media and question are routedand monitored. It can be seen in this example that the distributedsystem of the present invention can be implemented on existing equipmentwithout the addition of a centralized server for managing the process.

In preferred embodiments an agent proxy can combine status informationfrom different terminals and different devices for a single agent intocombined information for that agent. This capability is illustratedfurther below, particularly with reference to FIG. 3. Also, in someembodiments a presence agent will connect to only one or two proxies.Connecting to two proxies provides reliability and redundance. Therecould be even more redundancy, but this is not typically necessary.

FIG. 2 is a diagram illustrating status management capabilities for anagent having more than one computer terminal according to an embodimentof the present invention. In this example, an agent, labeled herein asagent 1, is operating two separate PC terminals 73 and 75. In this casePC terminal 73 may be adapted for a specific type of data communicationwhile PC terminal 75 may be adapted for another type of datacommunication. In this example, agent 1 is utilizing two separatepresence agents, a presence agent A running on PC terminal 73, and apresence agent B running on PC terminal 75. A single agent proxy SW 17for agent1 resides on a server 18, analogous to agent proxy 18 of FIG.1.

Agent presence applications A and B are analogous to SW 61 of FIG. 1above. In this example, agent proxy SW 17 receives the presence andcapabilities information from both presence agent A and presence agentB, and combines them into a single presence entity, which may bereported to an observing and subscribing application such as any routingapplication in the system.

Presence information may be in the form of Extensible Markup Language(XML) as is used in recent presence protocols. It is noted herein, thatif agent 1 is only logged on to the system through PC terminal 73 and PCterminal 75 is logged off, then agent proxy SW 17 would only utilizepresence information provided by presence agent A. It will be apparentto one with skill in the art that as a distributed component, proxy 17functions independently from any other proxy component that may becovering additional agents.

There are in this case, no parent applications or central controlapplications to which proxy agent 17 or presence agents A or B, for thatmatter, depend upon. Therefore, an overall system covering many agentswill continue to function normally if for example, proxy 17 and presenceinstances A and B cease to function for any reason. In some embodiments,as described above, presence agents at a single station may report tomore than one agent proxy, in which case the failure of one of the agentproxies would not damage system performance. Prior art systems that relyon a central control station or server are vulnerable if for some reasonthe central controlling host malfunctions or becomes disabled. Moreover,the flexibility provided by distributed components enables agents toutilize the communications applications and platform types to which theyare most accustomed. This feature is especially beneficial in acommunication network wherein agents operate from remote PCs such as inhome office environments. In these cases, the presence reportingcapability is compatible with standard transport protocols such asTransfer Control Protocol/Internet Protocol (TCP/IP) utilized onInternet 63 (FIG. 1).

FIG. 3 is a diagram illustrating status management capabilities for anagent operating a computer and a telephone operating by Voice over IP(VoIP) protocol. An agent station 43 is illustrated (See FIG. 1) whereinan agent1 has access to a PC/VDU 73 and a VoIP telephone 81. Both areconnected to LAN 39. A presence agent A (61) executes on PC/VDU 73 andreports status to agent proxy 18 running SW 17. Telephone 81 operatesthrough a VoIP proxy 79, which also executes an instance of presenceagent 61, which in turn reports to agent proxy 18. Agent proxy 18responsible for agent station 43 in this example thus gets statusinformation for both the VoIP telephone and the PC/VDU at agent station73, and combines the information for an integrated status for station43. FIG. 4 is a connection diagram illustrating status managementcapabilities for an agent operating a computer PC/VDU 73 and a connectedIP phone 82. In this example, agent 1 is responsible for communicationevents routed to PC 73 and communication events routed to IP telephone82. IP phone 82 is Internet-capable and adapted to receive callsoriginating from Internet 63 of FIG. 1 above. In this case, there are 2presence agents, A) and B both running on PC 73, both labeled 61.Presence agent A monitors communication applications executing on PC 73while presence agent B monitors activity states of IP phone 82. It isassumed in this example that IP phone 82 cannot locally support software61. Both agents A and B report to agent proxy SW 17 running on agentproxy 18. In this case, VoIP events are handled through PC/VDU 73 actingas a host. The presence reporting capabilities of agent B are built ontop of a telephony application programming interface (TAPI) protocol. Itis noted herein that in one embodiment presence agents A and B may becombined as one presence agent reporting communication and capabilitystates of PC 73 and IP phone 82 as will be described below.

FIG. 5 is a diagram illustrating status management capabilities using acombined presence application. A single presence application 61 (A-B) isprovided and combines the monitoring and reporting duties of presenceagents A and B of FIG. 4. In this case, IP phone 82 is either serially(cabled) or universally (USB cabled) connected to PC 73 for statusmonitoring purposes and telephony management. Proxy SW 17 operates onagent proxy 18, which receives all of the capability and activityinformation of PC 73 and of IP phone 82.

It is noted that although a PC and phone combination are used in theexamples presented herein, other communications devices and/or systemsmay be monitored by presence agents executing on the monitored device orsystem, or executing on a connected processor or routing device. Forexample, an automated fax machine may have a facsimile queue that ismonitored by a presence agent. The presence agent, in this case, reportsto an agent proxy the number of faxes waiting to be sent and theestimated time of receipt of a fax as requested by an observingapplication on behalf of a customer request, for example. Therefore, apresence application can be personalized to a communications terminalshared by many agents and does not necessarily have to be personalizedto a single agent or to a controlled agent group.

FIG. 6 is a diagram illustrating status management capabilitiesutilizing a third party gateway 85. In some cases, wherein a particularcommunications terminal cannot be locally monitored, a presence agentmay be utilized to monitor a communications gateway associated with atarget device. Such a case is illustrated here. In this case a telephone81 is operated through third-party gateway 85, and an instance ofpresence server SW 61 is provided to and executes on the gateway server85, where it monitors status for phone 85. The gateway is shown asconnecting to LAN 39, thence to agent proxy 18, but may communicateindirectly with agent proxy 18, which operates with an instance of SW 17and integrates status information for agent station 43.

Several specific embodiments of the present invention have beendescribed in some detail herein, and it is emphasized that these areexemplary, and the invention may manifest in a variety of ways. Forexample, the embodiments described have been primarily within acommunication center providing status information for subscribingapplications also within the communication center. In alternativeembodiments there may be several call centers each with multiple agentsand agent stations, and agent proxies may be provided for groups ofagents at each call center, and in a hierarchical fashion higher-levelagent proxies may be provided integrating information for each centerand for groups of centers, and for all centers. Subscribing applicationsmay be local to a call center, or may subscribe across networks todifferent call centers, for example. The capabilities of thedistributive aspects of the present invention render it useful over adiverse topology in this manner Subscribing applications in such asystem may well be network-level routers, now capable of agent-levelrouting over a very diverse structure and over a combination of devices,networks, and protocols.

It will be apparent to one with skill in the art that the method andapparatus of the present invention may be practiced over a wide varietyof integrated networks and sub networks without departing from thespirit and scope of the present invention. Therefore, the method andapparatus of the present invention encompasses a wide range of varyingimplementations and therefore should be afforded the broadest scopeunder examination. The spirit and scope of the present invention islimited only by the claims that follow.

1. An agent presence application for monitoring target agent resourcesand rendering agent states to subscribing applications, comprising: afirst portion for collecting data regarding states of activity of thetarget agent resources; and a second portion for integrating the dataand rendering the agent states to the subscribing applications.
 2. Theagent presence application of claim 1 wherein the target agent resourcescomprise one or more individual agent stations in at least onecommunication center, the agent stations equipped with one or morecommunication devices.
 3. The agent presence application of claim 2wherein multiple copies or versions of the first portion execute onplatforms monitoring individual ones of the one or more communicationdevices, and provide data to at least one agent proxy server executing acopy of the second portion, the at least one agent proxy serverdedicated to integrating the data for the one or more 20 communicationdevices.
 4. The agent presence application of claim 3 wherein one ormore of the platforms upon which the first portions execute arecomputers in the agent stations.
 5. The agent presence application ofclaim 3 wherein one or more of the platforms upon which the firstportions execute comprise individual ones of the one or morecommunication devices.
 6. The agent presence application of claim 3wherein one or more of the platforms upon which the first portionsexecute comprise individual service proxy platforms also enablingservices for one of the communication devices.
 7. The agent presenceapplication of claim 6 wherein the service proxy platform is aVoice-over-Internet Protocol (VoIP) proxy enabling a VoIP telephone. 8.The agent presence application of claim 6 wherein the service proxyplatform is a call-control gateway platform.
 9. The agent proxyapplication of claim 3 wherein the first portions provide data to morethan one agent proxy server to provide redundancy.
 10. The agent proxyapplication of claim 3 wherein the platforms, agent stations andsubscribing applications are all a part of a single communicationcenter.
 11. The agent proxy application of claim 3 wherein theplatforms, agent stations and subscribing applications are distributedover a plurality of communication centers.
 12. The agent proxyapplication of claim 3 wherein more than one first portion is dedicatedeach to distinct ones of the communication devices associated with asingle agent station, and the data from the more than one first portionis aggregated for the single agent station at the agent proxy serverassociated with the single agent station.
 13. The agent proxyapplication of claim 3 comprising multiple sets of agent stations havingcommunication devices monitored by the copies or versions of the firstportion and multiple agent proxy servers executing copies of the secondportion, wherein agent proxy servers are associated in a hierarchicalfashion, such that higher-level agent proxy servers aggregate data frommultiple lower-level agent proxy servers with which each higher-levelserver is associated, the aggregated data at the higher level serverscomprising data from all of the agent stations associated with each ofthe lower-level servers.
 14. The agent proxy application of claim 13wherein the platforms, agent stations and subscribing applications areall a part of a single communication center.
 15. The agent proxyapplication of claim 13 wherein the platforms, agent stations andsubscribing applications are distributed over a plurality ofcommunication centers.
 16. The agent proxy application of claim 1wherein the subscribing applications include communication-routingapplications.
 17. An agent proxy system operable in at least onecommunication center, the system comprising: agent resources enablingagents to process communication events; one or more agent proxy servers;one or more subscribing applications subscribing to one or more of theagent proxy servers; a communication network connecting the agentresources, the applications and the one or more agent proxy servers; andan agent presence application for monitoring states of the agentresources and for rendering agent states to the subscribingapplications, the presence application having a first portion forcollecting data regarding states of activity of the target agentresources, and a second portion for integrating the data and renderingthe agent states to the subscribing applications.
 18. The agent proxysystem of claim 17 wherein the agent resources comprise one or moreindividual agent stations in at least one communication center, theagent stations equipped with communication devices.
 19. The agent proxysystem of claim 18 wherein multiple copies or versions of the firstportion execute on platforms monitoring individual ones of the one ormore communication devices, and provide data to at least one agent proxyserver executing a copy of the second portion, the at least one agentproxy server dedicated to integrating the data for the one or morecommunication devices.
 20. The agent proxy system of claim 19 whereinone or more of the platforms upon which the first portions execute arecomputers in the agent stations. 21-48. (canceled)